What is @turf/hex-grid?
@turf/hex-grid is a module from the Turf.js library that allows you to create a hexagonal grid within a bounding box. This can be useful for spatial analysis, data visualization, and geographic information system (GIS) applications.
What are @turf/hex-grid's main functionalities?
Create a Hexagonal Grid
This feature allows you to create a hexagonal grid within a specified bounding box. The `bbox` parameter defines the bounding box, `cellSide` specifies the length of each hexagon's side, and `options` can include units of measurement.
const turf = require('@turf/turf');
const bbox = [-96, 31, -84, 40];
const cellSide = 50;
const options = { units: 'miles' };
const hexgrid = turf.hexGrid(bbox, cellSide, options);
console.log(JSON.stringify(hexgrid));
Other packages similar to @turf/hex-grid
d3-hexbin
d3-hexbin is a module from the D3.js library that provides tools for creating hexagonal binning layouts. It is particularly useful for data visualization in web applications. Compared to @turf/hex-grid, d3-hexbin is more focused on visual representation and less on spatial analysis.
h3-js
h3-js is a JavaScript library for working with Uber's H3 hexagonal hierarchical geospatial indexing system. It offers more advanced features for spatial indexing and analysis compared to @turf/hex-grid, which is more focused on simple hexagonal grid creation.
@turf/hex-grid
hexGrid
Takes a bounding box and the diameter of the cell and returns a FeatureCollection of flat-topped
hexagons or triangles (Polygon features) aligned in an "odd-q" vertical grid as
described in Hexagonal Grids.
Parameters
bbox
BBox extent in [minX, minY, maxX, maxY] ordercellSide
number length of the side of the the hexagons or triangles, in units. It will also coincide with the
radius of the circumcircle of the hexagons.options
Object Optional parameters (optional, default {}
)
options.units
string used in calculating cell size, can be degrees, radians, miles, or kilometers (optional, default 'kilometers'
)options.properties
Object passed to each hexagon or triangle of the grid (optional, default {}
)options.mask
Feature<Polygon>? if passed a Polygon or MultiPolygon, the grid Points will be created only inside itoptions.triangles
boolean whether to return as triangles instead of hexagons (optional, default false
)
Examples
var bbox = [-96,31,-84,40];
var cellSide = 50;
var options = {units: 'miles'};
var hexgrid = turf.hexGrid(bbox, cellSide, options);
var addToMap = [hexgrid];
Returns FeatureCollection<Polygon> a hexagonal grid
This module is part of the Turfjs project, an open source
module collection dedicated to geographic algorithms. It is maintained in the
Turfjs/turf repository, where you can create
PRs and issues.
Installation
Install this module individually:
$ npm install @turf/hex-grid
Or install the Turf module that includes it as a function:
$ npm install @turf/turf